/* 
 * @author younger
 * @date 2020-04-04
 * @description 封装用户模块API，包括
 *  - loginAPI 用户登录
 *  - userListAPI 用户列表
 *  - userOperateAPI 用户创建/编辑
 *  - getPermissionListAPI 用户权限列表
 *  - usersDeleteAPI 用户删除
 *  - getAllUsersList 获取所有用户列表
*/

import request from '@/utils/request.js';

/**
 * 用户登录
 *  - post请求
 * @param {object} data // post请求参数
 *      - userName: 用户名
 *      - userPwd: 密码
 * @returns 
 */
export async function loginAPI(data) {
    return await request({
        method: 'post',
        url: '/users/login',
        data,
    });
}

/**
 * 用户列表
 *  - get请求
 * @param
 * @returns 
 */
export async function userListAPI(params) {
    return await request({
        method: 'get',
        url: '/users/list',
        params
    });
}

/**
 * 用户创建/编辑
 *  - post请求
 * @param {object} data  // post请求参数
 *      - action {String}: add: 新增 edit：编辑
 *      - userId {Number}: 用户ID（新建用户不用传）
 *      - userName {String}: 用户名
 *      - userEmail {String}: 邮箱
 *      - mobile {String}: 手机号
 *      - job {String}: 岗位
 *      - roleList {Array}: 系统角色（可多个）
 *      - deptId {Array}: 所属部门（可多个）
 * @returns 
 */
export async function userOperateAPI(data) {
    return await request({
        method: 'post',
        url: '/users/operate',
        data,
    });
}

/**
 * 用户权限列表
 * - get请求
 * @param
 * @returns 
 */
export async function getPermissionListAPI() {
    return await request({
        method: 'get',
        url: '/users/getPermissionList',
    });
}

/**
 * 用户删除
 * - delete请求
 * @param {object} data // delete请求参数
 *       - userIds {Array}: 用户ID列表
 * @returns 
 */
export async function usersDeleteAPI(data) {
    return await request({
        method: 'delete',
        url: '/users/delete',
        data,
    });
}

// 获取所有用户列表
export async function getAllUsersList() {
    return await request({
        method: 'get',
        url: '/users/all/list',
    });
}